---
sidebar_position: 6
---

# ResponseSynthesizer (СинтезаторОтветов)

`Эта документация была автоматически переведена и может содержать ошибки. Не стесняйтесь открывать Pull Request для предложения изменений.`

ResponseSynthesizer (СинтезаторОтветов) отвечает за отправку запроса, узлов и шаблонов подсказок в LLM для генерации ответа. Есть несколько ключевых режимов для генерации ответа:

- `Refine` (Уточнить): "создание и уточнение" ответа путем последовательного прохождения через каждый извлеченный текстовый фрагмент. Это делает отдельный вызов LLM для каждого узла. Хорошо подходит для более подробных ответов.
- `CompactAndRefine` (Компактно и уточнить) (по умолчанию): "сжатие" подсказки во время каждого вызова LLM путем заполнения максимального размера подсказки максимальным количеством текстовых фрагментов, которые могут поместиться. Если слишком много фрагментов, чтобы поместиться в одну подсказку, "создание и уточнение" ответа путем прохождения через несколько компактных подсказок. То же самое, что и `Refine`, но должно привести к меньшему количеству вызовов LLM.
- `TreeSummarize` (Суммирование дерева): По заданному набору текстовых фрагментов и запросу рекурсивно строит дерево и возвращает корневой узел в качестве ответа. Хорошо подходит для целей суммирования.
- `SimpleResponseBuilder` (Простой построитель ответа): По заданному набору текстовых фрагментов и запросу применяет запрос к каждому текстовому фрагменту, накапливая ответы в массиве. Возвращает объединенную строку всех ответов. Хорошо подходит, когда вам нужно запустить один и тот же запрос отдельно для каждого текстового фрагмента.

```typescript
import { NodeWithScore, ResponseSynthesizer, TextNode } from "llamaindex";

const responseSynthesizer = new ResponseSynthesizer();

const nodesWithScore: NodeWithScore[] = [
  {
    node: new TextNode({ text: "Мне 10 лет." }),
    score: 1,
  },
  {
    node: new TextNode({ text: "Джону 20 лет." }),
    score: 0.5,
  },
];

const response = await responseSynthesizer.synthesize(
  "Сколько мне лет?",
  nodesWithScore,
);
console.log(response.response);
```

## Справочник по API

- [ResponseSynthesizer (СинтезаторОтветов)](../../api/classes/ResponseSynthesizer.md)
- [Refine (Уточнить)](../../api/classes/Refine.md)
- [CompactAndRefine (Компактно и уточнить)](../../api/classes/CompactAndRefine.md)
- [TreeSummarize (Суммирование дерева)](../../api/classes/TreeSummarize.md)
- [SimpleResponseBuilder (Простой построитель ответа)](../../api/classes/SimpleResponseBuilder.md)

"
